package projeto.comercial.cliente.cih;

import java.util.List;

import plataforma.base.cdp.Criterio;
import plataforma.cih.campos.CampoPesquisaCheckBox;
import plataforma.cih.campos.CampoTexto;
import plataforma.crud.cih.PainelPesquisa;
import plataforma.crudestatico.cci.CtrlCrudEstatico;

public class PainelPesquisaAvancadaCliente  extends PainelPesquisa {

	private CampoTexto campoDescricao = new CampoTexto();
	
	CampoPesquisaCheckBox campoSituacao = new CampoPesquisaCheckBox();

	private CtrlCrudEstatico ctrlCategoriaServico;

	public PainelPesquisaAvancadaCliente(CtrlCrudEstatico ctrlCategoriaServico) {
		super();
		this.ctrlCategoriaServico = ctrlCategoriaServico;
		ctrlCategoriaServico.setPainelPesquisa(this);
		grid.adicionarLinha("Nome", campoDescricao);
			
		campoSituacao.adicionarParametro("Ativo", true);
		campoSituacao.adicionarParametro("Inativo", false);

		grid.adicionarLinha("Status", campoSituacao);

		configurarFiltroPadrao();
	}
	
	

	private void configurarFiltroPadrao() {
		campoSituacao.selecionar(true);
	}

	@Override
	public void filtrar() {
		criterios.clear();
		
		if (campoDescricao.getValue() != null) {
			criterios.add(new Criterio("nome", Criterio.Tipo.LIKE,campoDescricao.getValue()));
		}
		

		   List<Object> valoresSelecionados = campoSituacao.getValoresSelecionados();
	         Criterio criterio =new Criterio("ativo",valoresSelecionados, Criterio.Tipo.LISTA);
	         
	         if(valoresSelecionados.size() != 0)
	         criterios.add(  criterio);	

		ctrlCategoriaServico.atualizarListagemPorParametros(criterios,criteriosAgregacao);
		
	}



}
